package cn.dduan.fool.collection.set;

import java.util.Comparator;
import java.util.TreeSet;

/**
 * TreeSet
 * <p>
 * 是一种排序的Set集合，实现了SortedSet接口，底层是用TreeMap实现的，本质上是一个红黑树原理
 * 排序分两种：自然排序（存储元素实现Comparable接口）和定制排序（创建TreeSet时，传递一个自己实现的Comparator对象）
 * 正常情况下不能有null值，可以重写Comparable接口 局可以有null值了。
 * 实现 Comparator 接口，重写compare方法，实现倒叙排列，默认正序
 *
 * @author dduan
 * @version 1.0
 * @date 2023/3/28
 */
public class MyTreeSet {
    public static void main(String[] args) {
        TreeSet<Integer> treeSet = new TreeSet<>(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2 - o1;
            }
        });
        treeSet.add(2);
        treeSet.add(1);
        treeSet.add(0);
        System.out.println(treeSet.toString());
    }
}
